package com.example.demo;

import java.util.Scanner;

public class SimpleInventorySystem {
    public static void main(String[] args) {
        // 定义存储商品信息的数组（固定3种商品）
        String[] names = new String[3];   // 商品名称数组
        int[] prices = new int[3];        // 商品单价数组
        int[] stocks = new int[3];        // 商品库存数组
        Scanner scanner = new Scanner(System.in);

        System.out.println("简易商品库存查询系统");
        System.out.println("请录入3种商品信息：");
        System.out.println("----------------------");

        // 1. 录入3种商品信息（for循环实现）
        for (int i = 0; i < 3; i++) {
            // 录入商品名称
            System.out.print("请输入第" + (i + 1) + "种商品名称：");
            names[i] = scanner.next();
            // 录入商品单价（非整数则重输，用continue控制）
            System.out.print("请输入" + names[i] + "单价（整数）：");
            while (!scanner.hasNextInt()) {
                System.out.println("输入错误！单价必须是整数，请重新输入：");
                System.out.print("请输入" + names[i] + "单价（整数）：");
                scanner.next(); // 清空无效输入
            }
            prices[i] = scanner.nextInt();

            // 录入商品库存（非整数则重输）
            System.out.print("请输入" + names[i] + "库存：");
            while (!scanner.hasNextInt()) {
                System.out.println("输入错误！库存必须是整数，请重新输入：");
                System.out.print("请输入" + names[i] + "库存：");
                scanner.next(); // 清空无效输入
            }
            stocks[i] = scanner.nextInt();
            System.out.println("----------------------");
        }

        // 2. 打印商品库存列表（for循环遍历）
        System.out.println("商品库存列表：");
        for (int i = 0; i < 3; i++) {
            System.out.println((i + 1) + ". " + names[i] + " - 单价：" + prices[i] + "元 - 库存：" + stocks[i] + "件");
        }
        System.out.println("----------------------");

        // 3. 实现重复查询功能（do-while循环）
        int choice;
        do {
            System.out.print("是否查询商品库存？(1-是/0-否)");
            // 处理非整数选择
            while (!scanner.hasNextInt()) {
                System.out.println("输入错误！请输入数字1或0：");
                System.out.print("是否查询商品库存？(1-是/0-否)");
                scanner.next();
            }
            choice = scanner.nextInt();

            if (choice == 1) {
                // 接收查询的商品名称
                System.out.print("请输入要查询的商品名称：");
                String queryName = scanner.next();
                boolean found = false; // 标记是否找到商品

                // 遍历数组匹配商品
                for (int i = 0; i < 3; i++) {
                    if (names[i].equals(queryName)) {
                        System.out.println("查询结果：" + names[i] + " - 单价：" + prices[i] + "元 - 库存：" + stocks[i] + "件");
                        found = true;
                        break; // 找到后退出循环，减少冗余判断
                    }
                }
                if (!found) {
                    System.out.println("该商品不存在！");
                }
            } else if (choice != 0) {
                System.out.println("输入错误，请重新选择！");
            }
        } while (choice != 0); // 输入0时退出循环

        // 关闭Scanner资源
        scanner.close();
        System.out.println("程序退出！");
    }
}